home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / C-Cl / clipToICON XCMD.cpt / clipToICON XCMD Folder / clipToICON XCMD / cards.xml < prev    next >
Text File  |  1991-10-03  |  12KB  |  225 lines

  1. card_2847.xml
  2. <?xml version="1.0" encoding="utf-8" ?>
  3. <!DOCTYPE card PUBLIC "-//Apple, Inc.//DTD card V 2.0//EN" "" >
  4. <card>
  5.     <id>2847</id>
  6.     <filler1>0</filler1>
  7.     <bitmap>BMAP_2249.pbm</bitmap>
  8.     <cantDelete> <false /> </cantDelete>
  9.     <showPict> <true /> </showPict>
  10.     <dontSearch> <false /> </dontSearch>
  11.     <owner>2726</owner>
  12.     <link rel="stylesheet" type="text/css" href="stylesheet_3106.css" />
  13.     <part>
  14.         <id>1</id>
  15.         <type>field</type>
  16.         <visible> <true /> </visible>
  17.         <dontWrap> <false /> </dontWrap>
  18.         <dontSearch> <false /> </dontSearch>
  19.         <sharedText> <false /> </sharedText>
  20.         <fixedLineHeight> <false /> </fixedLineHeight>
  21.         <autoTab> <false /> </autoTab>
  22.         <lockText> <false /> </lockText>
  23.         <rect>
  24.             <left>19</left>
  25.             <top>304</top>
  26.             <right>81</right>
  27.             <bottom>332</bottom>
  28.         </rect>
  29.         <style>transparent</style>
  30.         <autoSelect> <false /> </autoSelect>
  31.         <showLines> <false /> </showLines>
  32.         <wideMargins> <false /> </wideMargins>
  33.         <multipleLines> <false /> </multipleLines>
  34.         <reservedFamily> 0 </reservedFamily>
  35.         <titleWidth>0</titleWidth>
  36.         <icon>0</icon>
  37.         <textAlign>right</textAlign>
  38.         <font>Palatino</font>
  39.         <textSize>10</textSize>
  40.         <textStyle>plain</textStyle>
  41.         <textHeight>13</textHeight>
  42.         <name></name>
  43.         <script></script>
  44.     </part>
  45.     <part>
  46.         <id>4</id>
  47.         <type>button</type>
  48.         <visible> <false /> </visible>
  49.         <reserved5> 0 </reserved5>
  50.         <reserved4> 0 </reserved4>
  51.         <reserved3> 0 </reserved3>
  52.         <reserved2> 0 </reserved2>
  53.         <reserved1> 0 </reserved1>
  54.         <enabled> <true /> </enabled>
  55.         <rect>
  56.             <left>129</left>
  57.             <top>287</top>
  58.             <right>277</right>
  59.             <bottom>339</bottom>
  60.         </rect>
  61.         <style>roundrect</style>
  62.         <showName> <true /> </showName>
  63.         <highlight> <false /> </highlight>
  64.         <autoHighlight> <true /> </autoHighlight>
  65.         <sharedHighlight> <true /> </sharedHighlight>
  66.         <family>0</family>
  67.         <titleWidth>0</titleWidth>
  68.         <icon>8105</icon>
  69.         <textAlign>center</textAlign>
  70.         <font>Chicago</font>
  71.         <textSize>12</textSize>
  72.         <textStyle>plain</textStyle>
  73.         <name>Bulb</name>
  74.         <script></script>
  75.     </part>
  76.     <part>
  77.         <id>6</id>
  78.         <type>button</type>
  79.         <visible> <true /> </visible>
  80.         <reserved5> 0 </reserved5>
  81.         <reserved4> 0 </reserved4>
  82.         <reserved3> 0 </reserved3>
  83.         <reserved2> 0 </reserved2>
  84.         <reserved1> 0 </reserved1>
  85.         <enabled> <true /> </enabled>
  86.         <rect>
  87.             <left>89</left>
  88.             <top>301</top>
  89.             <right>123</right>
  90.             <bottom>302</bottom>
  91.         </rect>
  92.         <style>rectangle</style>
  93.         <showName> <false /> </showName>
  94.         <highlight> <false /> </highlight>
  95.         <autoHighlight> <false /> </autoHighlight>
  96.         <sharedHighlight> <true /> </sharedHighlight>
  97.         <family>0</family>
  98.         <titleWidth>0</titleWidth>
  99.         <icon>0</icon>
  100.         <textAlign>center</textAlign>
  101.         <font>Chicago</font>
  102.         <textSize>12</textSize>
  103.         <textStyle>plain</textStyle>
  104.         <name>topBorder</name>
  105.         <script></script>
  106.     </part>
  107.     <part>
  108.         <id>7</id>
  109.         <type>button</type>
  110.         <visible> <true /> </visible>
  111.         <reserved5> 0 </reserved5>
  112.         <reserved4> 0 </reserved4>
  113.         <reserved3> 0 </reserved3>
  114.         <reserved2> 0 </reserved2>
  115.         <reserved1> 0 </reserved1>
  116.         <enabled> <true /> </enabled>
  117.         <rect>
  118.             <left>90</left>
  119.             <top>334</top>
  120.             <right>123</right>
  121.             <bottom>335</bottom>
  122.         </rect>
  123.         <style>rectangle</style>
  124.         <showName> <false /> </showName>
  125.         <highlight> <false /> </highlight>
  126.         <autoHighlight> <false /> </autoHighlight>
  127.         <sharedHighlight> <true /> </sharedHighlight>
  128.         <family>0</family>
  129.         <titleWidth>0</titleWidth>
  130.         <icon>0</icon>
  131.         <textAlign>center</textAlign>
  132.         <font>Chicago</font>
  133.         <textSize>12</textSize>
  134.         <textStyle>plain</textStyle>
  135.         <name>bottomBorder</name>
  136.         <script></script>
  137.     </part>
  138.     <part>
  139.         <id>8</id>
  140.         <type>button</type>
  141.         <visible> <true /> </visible>
  142.         <reserved5> 0 </reserved5>
  143.         <reserved4> 0 </reserved4>
  144.         <reserved3> 0 </reserved3>
  145.         <reserved2> 0 </reserved2>
  146.         <reserved1> 0 </reserved1>
  147.         <enabled> <true /> </enabled>
  148.         <rect>
  149.             <left>89</left>
  150.             <top>302</top>
  151.             <right>90</right>
  152.             <bottom>335</bottom>
  153.         </rect>
  154.         <style>rectangle</style>
  155.         <showName> <false /> </showName>
  156.         <highlight> <false /> </highlight>
  157.         <autoHighlight> <false /> </autoHighlight>
  158.         <sharedHighlight> <true /> </sharedHighlight>
  159.         <family>0</family>
  160.         <titleWidth>0</titleWidth>
  161.         <icon>0</icon>
  162.         <textAlign>center</textAlign>
  163.         <font>Chicago</font>
  164.         <textSize>12</textSize>
  165.         <textStyle>plain</textStyle>
  166.         <name>leftBorder</name>
  167.         <script></script>
  168.     </part>
  169.     <part>
  170.         <id>9</id>
  171.         <type>button</type>
  172.         <visible> <true /> </visible>
  173.         <reserved5> 0 </reserved5>
  174.         <reserved4> 0 </reserved4>
  175.         <reserved3> 0 </reserved3>
  176.         <reserved2> 0 </reserved2>
  177.         <reserved1> 0 </reserved1>
  178.         <enabled> <true /> </enabled>
  179.         <rect>
  180.             <left>122</left>
  181.             <top>301</top>
  182.             <right>123</right>
  183.             <bottom>334</bottom>
  184.         </rect>
  185.         <style>rectangle</style>
  186.         <showName> <false /> </showName>
  187.         <highlight> <false /> </highlight>
  188.         <autoHighlight> <false /> </autoHighlight>
  189.         <sharedHighlight> <true /> </sharedHighlight>
  190.         <family>0</family>
  191.         <titleWidth>0</titleWidth>
  192.         <icon>0</icon>
  193.         <textAlign>center</textAlign>
  194.         <font>Chicago</font>
  195.         <textSize>12</textSize>
  196.         <textStyle>plain</textStyle>
  197.         <name>rightBorder</name>
  198.         <script></script>
  199.     </part>
  200.     <content>
  201.         <layer>background</layer>
  202.         <id>4</id>
  203.         <text>clipToICON XCMD</text>
  204.     </content>
  205.     <content>
  206.         <layer>background</layer>
  207.         <id>5</id>
  208.         <text><span class="style2">lipToICON ¬©1991 Brett Sher</span><span class="style1"></span><span class="style2">Syntax</span><span class="style1">: clipToICON <iconName></span><span class="style2">Functionality</span><span class="style1">: clipToICON scales a PICT on the clipboard to ICON size and updates the named icon, creating it if it does not already exist in the stack.  ICON names of longer than 24 characters are not accepted.</span><span class="style2">Demonstration</span><span class="style1">: To test the XCMD now, use HyperCard‚Äôs paint tools to design an icon in the designated area below.  Then click the Example button.  Your art will be transformed into an ICON, and a button will appear displaying your new ICON.</span><span class="style2">Credits</span><span class="style1">: Thanks to Tony Beruman for jumpstarting me into the wacky world of HyperCard externals.  This XCMD was developed using CompileIt! (written by Tom Pittman and distributed by Heizer Software).  I recommend CompileIt! as an inexpensive way to explore the Mac Toolbox.   I have included the source code (click the show source button).</span><span class="style2">Warning:</span><span class="style1">  I make no warrantee as to the fitness of this XCMD.  In fact I'd be surprised if there wasn‚Äôt some way of breaking it.  After all, its my first attempt at writing an XCMD. Use it at your peril.  Send  bug reports and feature requests to the address below.</span><span class="style2">License:</span><span class="style1">  You are welcome to use this XCMD in your own noncommercial stacks, and to study the source code.  You may freely distribute this stack to others in its original form with all copyright notices intact.However, if  you plan to </span><span class="style2">resell</span><span class="style1"> this XCMD as part of a commercial product, you must first obtain my written permission.Direct your correspondence to:               Brett Sher               808 Gale Drive               Campbell, CA 95008</span></text>
  209.     </content>
  210.     <content>
  211.         <layer>card</layer>
  212.         <id>1</id>
  213.         <text>Draw your ICON here</text>
  214.     </content>
  215.     <content>
  216.         <layer>background</layer>
  217.         <id>14</id>
  218.         <text>-- clipToIcon 1.0, ¬© 1991 Brett Sher, Campbell, CA, All Rights Reserved-- XCMD clipToIcon sets the bit image of the ICON resource named by the parameter <iconName> to-- the image of a PICT on the clipboard. If the PICT is not exactly 32 x 32 bits, it is scaled to fit.-- If there is not already an ICON named <iconName>, one will be added to the current stack.-- <iconName> is not allowed to be empty or exceed 24 characters.global iconRect:Record [8]     -- 4  longIntsglobal pictHndl:Pointer           -- handle to PICT on clipboardglobal iconHndl:Pointer           -- handle to ICON resourceglobal iconDataHndl:Pointer    -- handle to new ICON imageglobal graphportPtr:Pointer   -- pointer to an offscreen graphportglobal oldPortPtr:Pointer       -- pointer to old grafporton clipToIcon iconName    if iconName is "?" then return info()  if iconName is "!" then return version()  if iconName is "" then return "ERROR: <iconName> was empty"  if length (iconName) > 24 then return "ERROR: <iconName> was longer than 24 characters"    put "" into errorMsg  setRect iconRect,0,0,32,32  put newHandle(1) into pictHndl -- create a minimum size handle  put getScrap(pictHndl, "PICT", pictOffset) into thePictLength  -- get pictHandle from clipboard  if thePictLength < 0 then    put "ERROR: No PICT found on clipboard" into errorMsg  else    GetPort oldPortPtr -- save old grafport pointer    put NewPtr(112) into graphportPtr        -- It may only need 108 but a litte more shouldn't hurt    OpenPort graphportPtr    put iconRect into graphportPtr@.portRect    put iconRect into graphportPtr@.portBits.bounds    put 4 into graphportPtr@.portBits.rowbytes    put newHandle(128) into iconDataHndl      -- allocate space for our ICON graphic    hLock iconDataHndl    put iconDataHndl@ into graphportPtr@.portBits.baseAddr -- redirect quickDraw to our ICON data        SetPort graphportPtr    DrawPicture pictHndl, iconRect        put Get1NamedResource("ICON",iconName) into iconHndl -- try to get existing ICON of same name    put resError() into resErrNum    if iconHndl <> 0 then -- We already have an ICON of this name            BlockMove iconDataHndl@, iconHndl@,128 -- poke new bit image into our old icon          else -- we need to create a new ICON            repeat with i = 1 to 100        put UniqueID("ICON") into iconID        if iconID> 127 then exit repeat -- guarantee no conflict with system resources      end repeat      if i > 99 then        put "ERROR: Couldn't Generate unique id for new ICON" into ErrorMsg      else        AddResource iconDataHndl, "ICON", iconID, iconName -- iconDataHndl assigns our new bit image        put resError() into resErrNum        put Get1Resource("ICON",iconID) into iconHndl      end if          end if        -- iconHandle now points to our ICON with an updated image        if resErrNum = 0 and ErrorMsg = "" then      SetResAttrs iconHndl,resChanged + resPurgeable      WriteResource iconHndl      put resError() into resErrNum      if resErrNum <> 0 then put ResErrMsg(resErrNum) into ErrorMsg      ReleaseResource iconHndl    else      put ResErrMsg(resErrNum) into ErrorMsg    end if  end if    hUnlock iconDataHndl  ClosePort graphportPtr  DisposPtr graphportPtr  SetPort oldPortPtr -- restore quickdraw to hypercard's grafPort  DisposHandle iconDataHndl  DisposHandle pictHndl    return ErrorMsgend clipToIconfunction version  return  "clipToIcon 1.0, ¬© 1991 Brett Sher, Campbell, CA, All Rights Reserved" & return &¬¨  "Last revised: Saturday 10/1/91"end versionfunction info  return "Applies PICT on clipboard to an ICON. Syntax: clipToIcon <iconName>" & return &¬¨  "A new ICON is created, if the named ICON  does not already exist."end infofunction ResErrMsg x  if x = -192 then return "Resource not found"  else if x = -193 then return "Resource file not found"  else if x = -194 then return "AddResource failed"  else if x = -195 then return "RmveResource failed"  else if x = -196 then return "Operation prohibited by resource attribute"  else if x = -199 then return "Error reading resource map"  else if x = -34 then return "Disk Full"  else return "Unknown resource error" && xend ResErrMsg</text>
  219.     </content>
  220.     <name></name>
  221.     <script>on closeCardhide btn 1end closeCard</script>
  222. </card>
  223.  
  224.  
  225.